﻿using System;
using System.Collections.Generic;
using yiCommerce.Core;
using yiCommerce.Core.Domain.Customers;

namespace yiCommerce.Service.Customers
{
    public interface ICustomerService
    {
        IPagedList<Customer> GetAllCustomers(int pageIndex, int pageSize);

        IList<Customer> GetCustomersByCustomerRoleId(int customerRoleId);

       
        void DeleteCustomer(Customer customer);

       
        Customer GetCustomerById(int customerId);

        Customer InsertGuestCustomer();

        IList<Customer> GetAllNotUsedShopOwners();
        void UpdateCustomer(Customer customer);

        void UpdateCustomerLogo(int customerId, int logoId, int pictureId);
        void InsertCustomerLogo(int customerId, int pictureId);
        void UpdateCustomerInfo(int customerId, string nickName, string intro);

        Customer GetCustomerByEmail(string usernameOrEmail);
        Customer GetUserByGuid(Guid customerGuid);
        Customer GetCustomerByUserName(string userName);
        CustomerRole GetCustomerRoleBySystemName(string roleName);


        IList<CustomerRole> GetAllCustomerRoles();
    }
}